AWK তে Field Separator (FS)
এবং Record Separator (RS)
হল দুটি গুরুত্বপূর্ণ উপাদান যা ডেটা প্রক্রিয়াকরণের সময় ইনপুট ডেটাকে বিভিন্ন ফিল্ড এবং রেকর্ডে ভাগ করতে ব্যবহৃত হয়। FS
সাধারণত একটি লাইনের মধ্যে ফিল্ডগুলোকে আলাদা করার জন্য ব্যবহৃত হয় এবং RS
বিভিন্ন লাইন বা রেকর্ডকে আলাদা করতে ব্যবহৃত হয়।
FS
হল এমন একটি ভেরিয়েবল যা প্রতিটি লাইনের ফিল্ড বা কলামগুলোকে আলাদা করে। ডিফল্টভাবে, AWK তে FS
একটি স্পেস বা ট্যাব হয়, কিন্তু এটি কাস্টমাইজ করা যেতে পারে।
কমান্ড লাইনে -F
ফ্ল্যাগ দিয়ে:
awk -F"," '{ print $1, $2 }' data.csv
এখানে -F","
নির্দেশ করছে যে কমা (,
) হল ফিল্ড সেপারেটর। ফলে data.csv
ফাইলের প্রতিটি লাইনকে কমা দিয়ে ভাগ করা হবে।
প্রোগ্রামের মধ্যে FS
পরিবর্তন:
awk 'BEGIN { FS = ":" }
{
print "First Field:", $1
print "Second Field:", $2
}' data.txt
এখানে FS
কলনের (:
) মাধ্যমে প্রতিটি লাইনের ফিল্ডগুলোকে আলাদা করছে।
RS
হল একটি ভেরিয়েবল যা বিভিন্ন রেকর্ড বা লাইনকে আলাদা করে। ডিফল্টভাবে, RS
একটি নিউলাইন (অর্থাৎ প্রতিটি লাইন একটি রেকর্ড), তবে এটি কাস্টমাইজ করা যেতে পারে।
প্রোগ্রামের মধ্যে RS
পরিবর্তন:
awk 'BEGIN { RS = "" }
{
print "Record:", $0
}' paragraph.txt
এখানে RS
একটি খালি স্ট্রিং দিয়ে সেট করা হয়েছে, যা প্রতিটি প্যারাগ্রাফকে একটি রেকর্ড হিসেবে গণ্য করবে। এতে দুই লাইনের মধ্যে একটি ফাঁকা লাইন থাকলে সেটি রেকর্ড আলাদা করার সংকেত হিসেবে কাজ করবে।
কাস্টম রেকর্ড সেপারেটর ব্যবহার:
awk 'BEGIN { RS = "END" }
{
print "Record:", $0
}' document.txt
এখানে RS
কে "END" শব্দ দিয়ে সেট করা হয়েছে। ফলে, document.txt
ফাইলের প্রতিটি রেকর্ড "END" শব্দটি দেখা পর্যন্ত গঠিত হবে।
নিচে একটি উদাহরণ দেওয়া হলো যেখানে FS
এবং RS
একসাথে ব্যবহার করা হয়েছে:
awk 'BEGIN { FS = ", "; RS = "\n\n" }
{
print "Record Start:"
print "First Field:", $1
print "Second Field:", $2
print "--------------------"
}' data.txt
এখানে, প্রতিটি রেকর্ড দুইটি নিউলাইনের মাধ্যমে আলাদা করা হয়েছে এবং প্রতিটি ফিল্ড কমা এবং স্পেস (,
) দিয়ে আলাদা করা হয়েছে।
FS
এবং RS
AWK তে ডেটা প্রক্রিয়াকরণের জন্য গুরুত্বপূর্ণ উপাদান। FS
ব্যবহারকারীদের ফিল্ড বা কলামগুলিকে সঠিকভাবে আলাদা করতে সাহায্য করে এবং RS
বিভিন্ন রেকর্ড বা লাইন আলাদা করতে ব্যবহৃত হয়। এই ভেরিয়েবলগুলি কাস্টমাইজ করে ব্যবহারকারীরা তাদের ডেটা ফাইলের কাঠামো অনুসারে ডেটা প্রক্রিয়াকরণ করতে পারেন, যা ডেটা বিশ্লেষণকে আরও কার্যকর এবং ফলপ্রসূ করে।
common.read_more